package com.bm.specialvehiclefordispatcher.views;

import com.bm.specialvehiclefordispatcher.R;

import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
import android.text.InputFilter;
import android.text.InputType;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.RatingBar;
import android.widget.TextView;

public class CustomDialog extends Dialog implements OnClickListener {

	TextView comdialog_title;
	LinearLayout comdialog_top;
	TextView comdialog_tick;
	RatingBar comdialog_ratingbar;
	LinearLayout comdialog_parent;
	Button comdialog_cancle;
	Button comdialog_sure;
	EditText comdialog_edit;
	EditText comdialog_code;
	EditText comdialog_oldtel;
	TextView comdialog_getvcode;
	TextView comdialog_msg;
	LinearLayout comdialog_code_line;
	View line;

	public CustomDialog(Context context) {
		super(context, R.style.MyDialog);
	}

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.commondialog);

		comdialog_title = (TextView) findViewById(R.id.comdialog_title);
		comdialog_top = (LinearLayout) findViewById(R.id.comdialog_top);
		comdialog_tick = (TextView) findViewById(R.id.comdialog_tick);
		comdialog_ratingbar = (RatingBar) findViewById(R.id.comdialog_ratingbar);
		comdialog_parent = (LinearLayout) findViewById(R.id.comdialog_parent);
		comdialog_cancle = (Button) findViewById(R.id.comdialog_cancle);
		comdialog_sure = (Button) findViewById(R.id.comdialog_sure);
		comdialog_edit = (EditText) findViewById(R.id.comdialog_edit);
		comdialog_code = (EditText) findViewById(R.id.comdialog_code);
		comdialog_getvcode = (TextView) findViewById(R.id.comdialog_getvcode);
		comdialog_oldtel = (EditText) findViewById(R.id.comdialog_oldtel);
		comdialog_msg = (TextView) findViewById(R.id.comdialog_msg);
		comdialog_code_line = (LinearLayout) findViewById(R.id.comdialog_code_line);
		line = (View) findViewById(R.id.comdialog_line);

		comdialog_sure.setOnClickListener(this);
		comdialog_cancle.setOnClickListener(this);
	}

	@Override
	public void onClick(View v) {
		switch (v.getId()) {
		case R.id.comdialog_sure:
			dismiss();

			break;
		case R.id.comdialog_cancle:
			dismiss();
			break;

		default:
			break;
		}
	}

	/**
	 * @author GuoHao
	 * @Package com.bm.specialvehiclefordispatcher.views
	 * @param msg
	 * @param listener
	 * @return void
	 * @throws
	 * @Date 2015年8月21日 下午5:29:23 仅出现消息
	 */
	public void justShowMsg(String msg, android.view.View.OnClickListener listener) {
		if (listener == null) {
			comdialog_sure.setOnClickListener(this);
		} else {
			comdialog_sure.setOnClickListener(listener);
		}
		comdialog_msg.setText(msg);
		comdialog_top.setVisibility(View.GONE);
		comdialog_parent.setVisibility(View.GONE);
		comdialog_title.setVisibility(View.GONE);

	}

	public void justShowMsg(int msg, android.view.View.OnClickListener listener) {
		if (listener == null) {
			comdialog_sure.setOnClickListener(this);
		} else {
			comdialog_sure.setOnClickListener(listener);
		}
		comdialog_msg.setText(msg);
		comdialog_top.setVisibility(View.GONE);
		comdialog_parent.setVisibility(View.GONE);
		comdialog_title.setVisibility(View.GONE);

	}
	
	public void justShowMsg(String msg, android.view.View.OnClickListener listener, android.view.View.OnClickListener cancel) {
		if (listener == null) {
			comdialog_sure.setOnClickListener(this);
		} else {
			comdialog_sure.setOnClickListener(listener);
		}
		if (cancel == null) {
			comdialog_cancle.setOnClickListener(this);
		} else {
			comdialog_cancle.setOnClickListener(cancel);
		}
		comdialog_msg.setText(msg);
		comdialog_top.setVisibility(View.GONE);
		comdialog_parent.setVisibility(View.GONE);
		comdialog_title.setVisibility(View.GONE);

	}

	public void justShowMsg(int msg, android.view.View.OnClickListener listener, android.view.View.OnClickListener cancel) {
		if (listener == null) {
			comdialog_sure.setOnClickListener(this);
		} else {
			comdialog_sure.setOnClickListener(listener);
		}
		if (cancel == null) {
			comdialog_cancle.setOnClickListener(this);
		} else {
			comdialog_cancle.setOnClickListener(cancel);
		}
		comdialog_msg.setText(msg);
		comdialog_top.setVisibility(View.GONE);
		comdialog_parent.setVisibility(View.GONE);
		comdialog_title.setVisibility(View.GONE);

	}

	/**
	 * @author GuoHao
	 * @Package com.bm.specialvehiclefordispatcher.views
	 * @param title
	 * @param msg
	 * @param listener
	 * @return void
	 * @throws
	 * @Date 2015年8月21日 下午5:29:06 仅出现标题与提示
	 */
	public void showTitleAndMsg(String title, String msg, android.view.View.OnClickListener listener) {
		if (listener == null) {
			comdialog_sure.setOnClickListener(this);
		} else {
			comdialog_sure.setOnClickListener(listener);
		}
		comdialog_title.setVisibility(View.VISIBLE);
		comdialog_msg.setText(msg);
		comdialog_title.setText(title);
		comdialog_top.setVisibility(View.GONE);
		comdialog_parent.setVisibility(View.GONE);

	}

	/**
	 * @author GuoHao
	 * @Package com.bm.specialvehiclefordispatcher.views
	 * @param tick
	 * @param telhint
	 * @param msghint
	 * @param listener
	 * @param clickListener
	 * @return void
	 * @throws
	 * @Date 2015年8月21日 下午5:28:51 显示设置手机号弹窗
	 */
	public void showSetTel(String tick, String oldtelhint, String telhint, String msghint, android.view.View.OnClickListener listener, android.view.View.OnClickListener clickListener) {
		if (clickListener == null) {
			comdialog_sure.setOnClickListener(this);
		} else {
			comdialog_sure.setOnClickListener(clickListener);
		}
		comdialog_getvcode.setOnClickListener(listener);
		comdialog_parent.setVisibility(View.VISIBLE);
		comdialog_title.setVisibility(View.GONE);
		comdialog_ratingbar.setVisibility(View.GONE);
		comdialog_tick.setText(tick);
		comdialog_oldtel.setHint(oldtelhint);
		comdialog_edit.setHint(telhint);
		comdialog_code_line.setVisibility(View.VISIBLE);
		comdialog_msg.setVisibility(View.GONE);
		comdialog_code.setHint(msghint);

	}

	/**
	 * @author GuoHao
	 * @Package com.bm.specialvehiclefordispatcher.views
	 * @param string
	 * @return void
	 * @throws
	 * @Date 2015年8月21日 下午5:28:42 设置左上小标题
	 */
	public void setTickTest(String string) {
		comdialog_tick.setText(string);
	}

	/**
	 * @author GuoHao
	 * @Package com.bm.specialvehiclefordispatcher.views
	 * @return
	 * @return String
	 * @throws
	 * @Date 2015年8月21日 下午5:28:37 获取手机号
	 */
	public String getTelText() {
		return comdialog_edit.getText().toString().trim();
	}

	public String getOldTelText() {
		return comdialog_oldtel.getText().toString().trim();
	}

	/**
	 * @author GuoHao
	 * @Package com.bm.specialvehiclefordispatcher.views
	 * @return
	 * @return String
	 * @throws
	 * @Date 2015年8月21日 下午5:28:31 获取验证码
	 */
	public String getCodeText() {
		return comdialog_code.getText().toString().trim();
	}

	/**
	 * @author GuoHao
	 * @Package com.bm.specialvehiclefordispatcher.views
	 * @return
	 * @return int
	 * @throws
	 * @Date 2015年8月21日 下午5:28:22 获取评分
	 */
	public int getRating() {

		return (int) comdialog_ratingbar.getRating();
	}

	/**
	 * @author GuoHao
	 * @Package com.bm.specialvehiclefordispatcher.views
	 * @param i
	 * @return void
	 * @throws
	 * @Date 2015年8月21日 下午5:27:54 0设置为数字，1为文本，并设置了长度限制
	 */
	public void setInputType(int i) {
		switch (i) {
		case 0:
			comdialog_oldtel.setInputType(InputType.TYPE_CLASS_NUMBER);
			comdialog_edit.setInputType(InputType.TYPE_CLASS_NUMBER);
			comdialog_code.setInputType(InputType.TYPE_CLASS_NUMBER);
			comdialog_edit.setFilters(new InputFilter[] { new InputFilter.LengthFilter(11) });
			comdialog_oldtel.setFilters(new InputFilter[] { new InputFilter.LengthFilter(11) });
			comdialog_code.setFilters(new InputFilter[] { new InputFilter.LengthFilter(6) });
			break;
		case 1:
			comdialog_edit.setInputType(InputType.TYPE_CLASS_TEXT);
			comdialog_edit.setFilters(new InputFilter[] { new InputFilter.LengthFilter(6) });
			break;

		default:
			break;
		}

	}

	/**
	 * @author GuoHao
	 * @Package com.bm.specialvehiclefordispatcher.views
	 * @param edithint
	 * @param clickListener
	 * @return void
	 * @throws
	 * @Date 2015年8月21日 下午5:27:47 评价
	 */
	public void showEvaluate(String edithint, android.view.View.OnClickListener clickListener) {
		comdialog_top.setVisibility(View.VISIBLE);
		comdialog_ratingbar.setVisibility(View.VISIBLE);
		comdialog_edit.setMinHeight(50);
		comdialog_edit.setHint(edithint);
		comdialog_parent.setVisibility(View.GONE);

		comdialog_sure.setOnClickListener(clickListener);

	}

	/**
	 * @author GuoHao
	 * @Package com.bm.specialvehiclefordispatcher.views
	 * @param tick
	 * @param edithint
	 * @param clickListener
	 * @return void
	 * @throws
	 * @Date 2015年8月21日 下午5:32:36 仅出现edit
	 */
	public void showTickAndEdit(String tick, String edithint, android.view.View.OnClickListener clickListener) {
		comdialog_top.setVisibility(View.VISIBLE);
		comdialog_title.setVisibility(View.GONE);
		comdialog_msg.setVisibility(View.GONE);
		comdialog_oldtel.setVisibility(View.GONE);
		comdialog_tick.setText(tick);
		comdialog_ratingbar.setVisibility(View.GONE);
		comdialog_edit.setHint(edithint);
		comdialog_sure.setOnClickListener(clickListener);
		comdialog_code_line.setVisibility(View.GONE);

	}

	public void setSureBtnText(String string) {
		comdialog_sure.setText(string);
	}

	public void hideCancle() {
		comdialog_cancle.setVisibility(View.GONE);
		line.setVisibility(View.GONE);
	}

	public TextView getVcodeTextView() {

		return comdialog_getvcode;
	}

}
